The rapid expansion of information service and data processing industries has resulted in a need for computer systems to manage more and more resources. One example of resource management involves managing a storage area network (SAN). A SAN is a collection of data storage systems that are networked with a number of host computer systems that operate as servers to access data stored in the data storage systems. Other examples include resource management involving the meeting of Service Level Agreements (SLAs), security requirements, Quality of Service (QoS) guarantees for different types of data flowing through a network, fault tolerance requirements for providing system integrity, redundancy requirements and content management requirements. A change in any type of resource including it relation to other resources, be it system infrastructure, content or personnel is preferably implemented in the most cost-efficient manner. Resource management can be applied to existing resources for things like managing the life cycle of certain devices, adding resources and removing resources. Resource management can include any type of resource including people.
Referring back to the example of a storage area network, elements of a typical conventional storage area network implementation include one or more connectivity devices such as high speed data switches or routers that interconnect the various data storage systems to each other and to one or more host or server computer systems (servers) that require access to (e.g., read and/or write) the data in the data storage systems on behalf of client software applications and/or client computer systems.
A storage area network may undergo changes as needs of its users change. A typical change may be a provisioning change wherein a certain amount of storage, having certain characteristics, may need to be allocated. Traditionally, a rule-based system is used to execute the provisioning request.